<?php

/**
 * Description of annonceFormuleSrv
 *
 * @author mssae-9
 */
class annonceFormuleSrv {
    /*
     * lister les différentes formules
     */
    public static function getFormule($id = 0, $status = 1){

        $sql  = " SELECT * FROM ao_formule WHERE 1";
        $sql .= " AND status = " . $status ;
        if ($id) 
            $sql .= " AND id=".$id." LIMIT 1";
        $cnx  = jDb::getConnection();
        $rs   = $cnx->query($sql);

        return $rs->fetchAll();
    }
   


     /*
     * lister les différentes formules
     */
    public static function listerFormule(){
       $maFactory= jDao::get("commun~ao_formule");
       $records = $maFactory->findAll();

        return $records->fetchAll();
        
    }
    
    /*
     * recuperer les choix d'un formule
     */
    public static function getFormulesChoices($idFormule){
        $sql  = " SELECT option_list,id_formule FROM lien_optionformule WHERE id_formule = ".$idFormule;
        $cnx  = jDb::getConnection();
        $rs   = $cnx->query($sql);
        $tabChoix = $rs->fetchAll();

        return $tabChoix[0]->option_list;
    }
    
    /*
     * recuperer options/choix dont prix sup aux options deja choisie ou option de la formule selectionne 
     * @param string $choixselected : liste des choix d'une formule
     *        int    $idOccasion    : id de la voiture occasion
     */
    public static function getOptionsPrixSup($choixselected,$idOccasion = 0){
        jClasses::inc("commun~common");
        $cnx  = jDb::getConnection();
        // liste des id des options
        $tabIdOption = array();
        // liste des libellés des options
        $tabLibOption = array();
        
        
        if($idOccasion){
            $choixAnnonce = self::getAnnonceChoix($idOccasion);
            $choixselected = ($choixAnnonce != '') ? $choixAnnonce.','.$choixselected : $choixselected;
        } 
        
        /* recuperer les choix superieur à ceux de la formule et de l'annonce */
        $sqlIn     = '  SELECT aofc2.formch_id,aofc2.formch_optionFormId,aofc2.formch_libelle,aofc2.formch_prix,aofc2.formch_duree,aof.lib_option_formule
                        FROM ao_option_formule_choix aofc1
                        RIGHT JOIN ao_option_formule_choix aofc2 ON aofc1.formch_optionFormId = aofc2.formch_optionFormId
                        INNER JOIN ao_option_formule aof ON aof.id_option_formule = aofc1.formch_optionFormId
                        WHERE aofc1.formch_id IN('.$choixselected.')
                        AND aofc2.formch_id NOT IN ('.$choixselected.')
                        AND CAST(aofc2.formch_prix AS DECIMAL) >  CAST(aofc1.formch_prix AS DECIMAL)';
        
        
        $rsIn      = $cnx->query($sqlIn);
        $tabIn     = $rsIn->fetchAll();
        
        foreach ($tabIn as $key => $value) {
            if(!in_array($value->lib_option_formule, $tabLibOption))array_push($tabLibOption, $value->lib_option_formule);
            if(!in_array($value->formch_optionFormId, $tabIdOption))array_push($tabIdOption, $value->formch_optionFormId);
        }
        
        /*
         * recuperer les choix qui n'appartient pas à la formule et l'option
         */
        $zIdOption = self::getOptionNotAnnonceFormule( $choixselected);
        $tabNotIn  = array();
        if($zIdOption != ''){
            $sqlNotIn  = '  SELECT DISTINCT formch_id,formch_optionFormId,formch_libelle,formch_description,formch_prix,formch_duree,lib_option_formule
                        FROM ao_option_formule_choix  
                        inner join ao_option_formule ON id_option_formule = formch_optionFormId
                        WHERE formch_optionFormId IN ('. $zIdOption .')';   
        
            $rsNotIn   = $cnx->query($sqlNotIn);
            $tabNotIn  = $rsNotIn->fetchAll();

            foreach ($tabNotIn as $key => $value) {
                if(!in_array($value->lib_option_formule, $tabLibOption))array_push($tabLibOption, $value->lib_option_formule);
                if(!in_array($value->formch_optionFormId, $tabIdOption))array_push($tabIdOption, $value->formch_optionFormId);
            }
        }
        
        /*
         * concatener le liste des choix 
         *      - appartenant pas à la formule et annonce  ($tabNotIn
         *      - appartenant à la formule et annonce mais prix est supérieur   ($tabIn
         */
        $tabChoix = array_merge($tabNotIn, $tabIn);
        
       
        /*recuperer payement : si tous==audiotel=> choix sinon cb*/
        $listePaiement = array();
        if(sizeof($tabIdOption)){
            $sqlTypePayement  = ' SELECT id_typepaiement,paiement,id_option FROM ao_option_typepaiement_link ';
            $sqlTypePayement .= ' INNER JOIN ao_option_typepaiement ON ao_option_typepaiement.id = ao_option_typepaiement_link.id_typepaiement';
            $sqlTypePayement .= ' WHERE  id_option in (' .  implode(',', $tabIdOption). ')';
            $sqlTypePayement .= ' ORDER BY id_option';
            $rsTypePayement      = $cnx->query($sqlTypePayement);
            $tabTypePayement     = $rsTypePayement->fetchAll();
            //verifie si les options accepte audiotel
            if (sizeof($tabTypePayement)) {
                foreach ($tabTypePayement as $key => $value) {
                    $aPaiement[$value->id_option] = 'no';
                    if($value->id_typepaiement == 2) $aPaiement[$value->id_option] = 'yes';
                }
            }
            $paiementChoix = 1;
            if (isset($aPaiement) && sizeof($aPaiement)) {
                foreach ($aPaiement as $key => $value) {
                    if($value == 'no') $paiementChoix = 0;
                }
            }

            if($paiementChoix){
                // cb et audiotel
                $listePaiement = common::liste('ao_option_typepaiement');
            } else {
                // cb seulement
                $listePaiement[0] = common::chargeParId(1, 'ao_option_typepaiement');
            }
        }
        
        
        /*insertion des resultats dans un stdclass*/
        $result = new stdClass();
        $result->listeLibOption = $tabLibOption;
        $result->listeIdOption = $tabIdOption;
        $result->listeChoix     = $tabChoix;
        $result->listePaiement  = $listePaiement;
        
        return $result;
    }
    
    /*
     * recuperer resume options d'une formule
     */
    public static function getFormuleRecap($idFormule){
        
        $choixFormule = self::getFormulesChoices($idFormule);
        $aResult = array();
        if($choixFormule != ''){
            $sql ='SELECT lib_option_formule,formch_libelle 
                FROM ao_option_formule_choix 
                INNER JOIN ao_option_formule ON id_option_formule = formch_optionFormId
                WHERE formch_id IN('.$choixFormule.')';
            $cnx  = jDb::getConnection();
            $rs   = $cnx->query($sql);
            $aResult =  $rs->fetchAll();
        }
        return $aResult;
    }
    /*
     * recuperer recap des options d'une annonce
     */
    public static function getAnnonceRecap($idOccasion){
        $choixAnnonce	= self::getAnnonceChoix($idOccasion);
        $aResult		= array();
        if($choixAnnonce != ''){
            $sql		='SELECT lib_option_formule,formch_libelle 
                FROM ao_option_formule_choix 
                INNER JOIN ao_option_formule ON id_option_formule = formch_optionFormId
                WHERE formch_id IN('.$choixAnnonce.')';		
            $cnx		= jDb::getConnection();
            $rs			= $cnx->query($sql);
            $aResult	= $rs->fetchAll();
        }
        
        return $aResult;
    }
    
    /*
     * recuperer liste option dont id des options différent
     * des ids des options des choix données en paramètre
     * @param string $choixAnnonceFormule : liste des id des choix
     *      dont on va exclure les options
     * @result string $result : liste des id options
     */
    public static function getOptionNotAnnonceFormule($choixAnnonceFormule){
        $sql = 'SELECT DISTINCT formch_optionFormId FROM ao_option_formule_choix
                WHERE formch_optionFormId NOT IN(SELECT DISTINCT formch_optionFormId FROM ao_option_formule_choix
                WHERE formch_id IN('.$choixAnnonceFormule.'))';
        $cnx  = jDb::getConnection();
        $rs   = $cnx->query($sql);
        $result = array();
        foreach ($rs as $key => $value) {
            $result[] = $value->formch_optionFormId;
        }
        $result = implode(',',$result);
        return $result;
    }
    
    
    /*
     * recuperer les choix supplémentaire d'une annonce
     */
    public static function getAnnonceChoix($idOccasion){
        if ($idOccasion) {
            $cnx  = jDb::getConnection();
            $sql = "SELECT idOption FROM ao_annonce_formule where idOccasion = ".$idOccasion;
            $rs   = $cnx->query($sql);
            $tab  = $rs->fetchAll();
            if(sizeof($tab)) {
                return $tab[0]->idOption;
            } 
        }
        return null;
    }

    /*
     * % à la table ao_annonce_formule_achat
     * récupérer les options déjà présente % à l'id d'une annonce
     */
    public static function getAnnonceChoixAchat($idOccasion){
        if ($idOccasion) {
            $cnx  = jDb::getConnection();
            $sql  = "SELECT * FROM ao_annonce_formule_achat WHERE idOccasion = " . $idOccasion;
            $rs   = $cnx->query($sql);
            $tab  = $rs->fetchAll();

            return $tab;
        }
        return null;
    }

    /*
     * recuperer formule d'une annonce
     */
    public static function getAnnonceFormuleByAnnonce($idOccasion){
        if ($idOccasion) {
            $cnx  = jDb::getConnection();

            $sql = "SELECT idFormule FROM ao_annonce_formule where idOccasion = ".$idOccasion;
            $rs  = $cnx->query($sql);
            $tab = $rs->fetchAll();
            if(sizeof($tab)) {
                return $tab[0]->idFormule;
            } 
        }
        return 0;
    }

    /*
     * Verifie si une option est tjr valide % à sa date d'achat
     */
    public static function checkValiditeOption($dureeEnJour, $dateAchat){
        $valide = false;
        if ($dureeEnJour && $dateAchat) {
            $cnx = jDb::getConnection();

            $sql = " SELECT DATEDIFF (NOW(), '".$dateAchat."') AS validite";
            $rs  = $cnx->query($sql);
            $tab = $rs->fetchAll();
            if(sizeof($tab)) {
                if ($dureeEnJour >= $tab[0]->validite)
                    $valide = true;
            } 
        }

        return $valide;
    }
    
    /*
     * afficher options annonce
     */
    public static function getInfosFormule($idFormule){
        $cnx   = jDb::getConnection();
         $choixFormule = self::getFormulesChoices($idFormule);
         $sql = '   SELECT formch_libelle FROM ao_option_formule_choix
                    WHERE formch_id IN('.$choixFormule.')
                    ORDER BY formch_optionFormId ASC';
                 
         $rs   = $cnx->query($sql);
         $tab  = $rs->fetchAll();
         return $tab;
    }
    
    /*
     * liaison entre annonce - formule - choix
     */
    public static function linkAnnonceFormuleChoix($idOccasion,$idFormule,$listeChoix){
        if ($idOccasion) {
            jClasses::inc("formule~formuleSrv");
            $cnx			= jDb::getConnection();
            
            // gardrécupérer les options déjà présente dans la formule 
            $optionPresente = self::getAnnonceChoix($idOccasion);
            
                // ajouter les nouvelles options et garder celles déjà présentes
            $finalOptionList = $optionPresente;
            if($listeChoix != ''){
                $finalOptionList .= (trim($finalOptionList) != '') ? ','.$listeChoix : $listeChoix;
            }

            if($idOccasion) {
                // récupérer les options définitives et interroger si elles sont ou non référencer ds la table ao_annonce_formule_achat
                // si oui, laisser comme tel, si non MAJ avec comme date d'achat la date du jour
                if ($finalOptionList) {
                    $tabToAdd     = array(); // tableau qui va stocker les id d'option à rajouter
                    $alreadyThere = self::getAnnonceChoixAchat($idOccasion); // les options déjà présentes
                    $tabOption    = explode(',', $finalOptionList); 

                    if (sizeof($alreadyThere)) {
                        // récupérer les option à rajouter
                        foreach ($alreadyThere as $there) {
                            if (!in_array($there->idOption, $tabOption)) {
                                $tabToAdd[] = $there->idOption;
                            }
                        }
                    } else {
                        // tout rajouter
                        $tabToAdd = $tabOption;
                    }

                    if (sizeof($tabToAdd)) {
                        // formation de la requete afin de l'executer qu'une seule fois
                        $queryAchat = self::getQueryAchat($tabToAdd, $idOccasion);
                        if ($queryAchat)
                            $cnx->exec($queryAchat);
                    }
                    
                }
                self::deleteAnnonceChoice($idOccasion);

                $sql   = " INSERT INTO  ao_annonce_formule (idOccasion, idFormule, idOption) VALUES ($idOccasion, $idFormule, '".$finalOptionList."')";
                $cnx->exec($sql);
                
                $sql   = " UPDATE ao_voiture_occasion SET annonce_formule_id = $idFormule 
                            WHERE IdOccasion  = $idOccasion";
                $cnx->exec($sql);
            }
        }
    }
    // Commit pour le point de retour  % modif table ao_annonce
    /*
     * Requete pur inserer les dtaes d'achat des options
     */
    public static function  getQueryAchat($tabOptions, $idOccasion){
        $doRequest = false;

        $query = " INSERT INTO ao_annonce_formule_achat (idOccasion, idOption, dateAchat) VALUES ";
        foreach ($tabOptions as $k=>$item) {
            if ($item) {
                $sep = (!$k)? '' : ', ';
                $query .= $sep . "(" . $idOccasion . ", " . $item . ", NOW() )" ;
                $doRequest = true;
            }
        }

        return ($doRequest) ? $query : "";
    }

    /*
     * supprimer les choix supp d'une annonce
     */
    public static function  deleteAnnonceChoice($idOccasion){
        if ($idOccasion) {
            $cnx   = jDb::getConnection();
            $sql  = " DELETE FROM ao_annonce_formule WHERE idOccasion = " . $idOccasion;
            $cnx->exec($sql);
        }
    }

    /*
     * MAJ des options d'une annonce
     */
    public static function updateOptAfterRmv($idOccasion, $tabOpt){
        if ($idOccasion) {
            $option = (sizeof($tabOpt))? implode(',', $tabOpt) : "";
            $cnx   = jDb::getConnection();
            $sql  = " UPDATE ao_annonce_formule SET idOption = '" . $option . "' WHERE idOccasion = " . $idOccasion;
            $cnx->exec($sql);
        }
    }

    /*
     * supprimer ds la table ao_annonce_formule_achat
     */
    public static function  deleteAchat($idOccasion, $idOption){
        if ($idOccasion && $idOption) {
            $cnx  = jDb::getConnection();
            $sql  = " DELETE FROM ao_annonce_formule_achat WHERE idOccasion = $idOccasion AND idOption = $idOption " ;
            $cnx->exec($sql);
        }
    }


    /*
     * Mise à jour prix annonce
     */
    public static function updatePrixAnnonce($idOccasion,$prix){
        $cnx   = jDb::getConnection();

        $sql   = ' UPDATE ao_voiture_occasion ';
        $sql  .= ' SET Occas_Prix = '.$prix ;
        $sql  .= ' WHERE IdOccasion = ' . $idOccasion;
        $cnx->exec($sql);
    }
    
    /*
     * recuperer la formule choisie % données AO V1
     * @param string $reference
     * @return int $idFormule
     */
    public static function getFormuleFromOldDatas($reference){
        
        /*
         * algo pour la correspondance entre reférence - tarif donc formule
         * 
         1. correspondance entre tarif et formule (d'apres petite-annonces-auto-occasions/ajout/choix.php)

            idTarif	    |	formule		|	tparution	| tphoto	|	tenrichissement
            ------------------------------------------------------------------------------
            4           |	basique		|	0           | S         |	S        
            3           |	dynamique	|	X           | S         |	S	 
            35          |	feerique	|	X           | C         |	S	 

         2. Correspondance entre reference et tarif

            reference : $Numero."-".$Source.$Provenance.$Destination.$Photo.$Enrichissement.$Operateur.$BitOptional."-".....;

         3. Correspondance entre reference et formule

            if $Destination == 0    ->   basique
            else    if $Photo == S     -> dynamique 
                    else -> feerique

         */
        $parution  = substr($reference, 6, 1);
        $Photo     = substr($reference, 7, 1);
        if($parution == '0') return ID_FORMULE_BASIQUE;
        elseif($Photo == 'S') return ID_FORMULE_DYNAMIQUE;
        else return ID_FORMULE_FEERIQUE;
        
    }
    
/**
 * generate_opt_parution()
 * 
 * @param $Destination		// Parution de la PA
 * @param $Photo			// Photo de la PA
 * @param $Enrichissement	// Enrichissement de la PA
 * 
 * @return $TOption		// Tableau resultat contenant le champ option et erreur.
 **/
    function generate_opt_parution ($Destination, $Photo,$Enrichissement){
        // Initialisation des variables
        $TOption["erreur"] = "";
        $TOption["option"] = "";
        $fin 			   = "";

        // Plage de valeur des parametres
        // ajout de la valeur Z dans $TDestination pour nouveau produit Grand Mix
        $TDestination    = array("0", "1", "2", "X", "Z");
        $TPhoto          = array("S", "C", "N", "W");
        $TEnrichissement = array("S", "T", "E", "G", "1", "2", "3", "4");

        // Teste de la validation des parametres
        if (!in_array($Destination, $TDestination))
        {
            // Le parametre Destination est incorrecte
            $TOption["erreur"] = "Parametre destination incorrecte !!";
            return $TOption;
        }
        else if (!in_array($Photo, $TPhoto))
        {
            // Le parametre Photo est incorrecte
            $TOption["erreur"] = "Parametre photo incorrecte !!";
            return $TOption;
        }
        else if (!in_array($Enrichissement, $TEnrichissement))
        {
            // Le parametre Enrichissement est incorrecte
            $TOption["erreur"] = "Parametre enrichissement incorrecte !!";
            return $TOption;
        }

        if ( ((string)$Destination) == "X")
        {
            // Parution jusqu'a la vente
            $TOption["option"] = "1";
            $fin 			   = "4";
        }
        else if ($Destination == "0")
        {
            // Parution que pour le Web
            $TOption["option"] = "2";
            $fin			   = "0";
        }

        else if ( ((string)$Destination) == "Z")
            {
                    // Parution Grand Mix
                    $TOption["option"] = "3";
                    $fin                       = "4";
            }
    // ajout cas formule a 9 EUR avec $Destination==1
            else if ( ((string)$Destination) == "1")
            {
                    // Parution economique 1 mois
                    $TOption["option"] = "1";
                    $fin                       = "1";
            }
        else
        {
            // 1 ou 2 passages dans le journal
            $TOption["option"] = "1";
            $fin 			   = $Destination;
        }

        switch($Photo)
        {
            case "S":
                $TOption["option"] .= "0";
                break;
            case "C":
                $TOption["option"] .= "2";
                break;
            case "N":
                $TOption["option"] .= "1";
                break;
            case "W":
                $TOption["option"] .= "3";
                break;
            default:
                break;
        }

        switch($Enrichissement)
        {
            case "S":
                $TOption["option"] .= "1";
                break;
            case "T":
                $TOption["option"] .= "4";
                break;
            case "E":
                $TOption["option"] .= "3";
                break;
            case "G":
                $TOption["option"] .= "2";
                break;
            default:
                if ( $Enrichissement != "" )
                {
                    $TOption["option"] .= "".(3 + $Enrichissement);
                }
                break;
        }

        $TOption["option"] .= $fin;

        return $TOption;
    }

    /*
     * generer option parution by formule Id
     * @param $idFormule
     */

     public static function generateOptParutionByFormuleId($idFormule){
         $photo = '';

         
         /*
          * Correspondane entre référence et tarif (formule)
          
          idTarif	    |	formule		|	tparution	| tphoto	|	tenrichissement
            ------------------------------------------------------------------------------
            4           |	basique		|	0           | S         |	S                  
            3           |	dynamique	|	X           | S         |	S	 
            35          |	feerique	|	X           | C         |	S	    
           
          */
         
         /* recuperer 
          * 
          *  1 : parution
          *  4 : photo
          * 20 : enrichissement
          * 21 : duree
          */ 
         $cnx   = jDb::getConnection();
         $choixFormule = self::getFormulesChoices($idFormule);
         $sql = '   SELECT formch_optionFormId,formch_id FROM ao_option_formule_choix
                    WHERE formch_id IN('.$choixFormule.')
                    AND formch_optionFormId IN(1,4,20,21)
                    ORDER BY formch_optionFormId ASC';
                    if ($choixFormule) {
         $rs   = $cnx->query($sql);
         $tab  = $rs->fetchAll();
         foreach ($tab as $key => $value) {
             //photo
             if($value->formch_optionFormId == 4){
                 switch ($value->formch_id) {
                     case 21:
                         $photo = 'S';
                         break;
                     case 22:
                         $photo = 'N';
                         break;
                     case 23:
                         $photo = 'C';
                         break;
                     case 24:
                         $photo = 'W';
                         break;

                     default:
                         $photo = '';

                         break;
                 }
             }
             
             // enrichissement
             if($value->formch_optionFormId == 20){
                 switch ($value->formch_id) {
                     case 25:
                         $enr = 'S';
                         break;
                     case 26:
                         $enr = 'G';
                         break;
                     case 27:
                         $enr = 'E';
                         break;
                     case 28:
                         $enr = 'T';
                         break;

                     default:
                         break;
                 }
             }
         }
                    }
         
         if($idFormule == FORMULE_BASIQUE) $parution = '0';
         else $parution = 'X';
         
          
         return self::generate_opt_parution($parution,$photo,$enr);
     }
     /*
      * recuperer  parution  - photo - enrichissement
      * d'une formule
      * @param $idFormule
      */
     
     public static function getParutionPhotoEnrichisByFormuleId($idFormule){
         $cnx   = jDb::getConnection();
         $choixFormule = self::getFormulesChoices($idFormule);
         $sql = '   SELECT formch_optionFormId,formch_id,formch_libelle FROM ao_option_formule_choix
                    WHERE formch_id IN('.$choixFormule.')
                    AND formch_optionFormId IN(1,4,20)
                    ORDER BY formch_optionFormId ASC';
                 
         $rs   = $cnx->query($sql);
         $tab  = $rs->fetchAll();
         $aResult = array();
         foreach ($tab as $key => $value) {
             if($value->formch_optionFormId == 1){
                 $aResult['parutionSelected'] = $value->formch_libelle ;
             }
             if($value->formch_optionFormId == 4){
                 $aResult['photoSelected'] = $value->formch_libelle ;
             }
             if($value->formch_optionFormId == 20){
                 $aResult['enrSelected'] = $value->formch_libelle ;
             }
         }
         return $aResult;
     }
	/*
	* Description : Cette fonction permet de recuperer les optioons d'une annonce à partir d'une formule et annonce
	* @param  int   $_iFormuleId 
	* @param  int   $_iAnnonceId
	* @return string $zListesOptions
	*/
	public static function getAllOptionsByFormuleAndAnnonce($_iFormuleId,$_iAnnonceId)
	{
		//Inclusion de la connexion
		$oConnexion		= jDb::getConnection();
		//Requete
		$zQuery			= "
							SELECT 	 
								idOccasion, 
								idFormule, 
								idOption
							 
							FROM 
								ao_annonce_formule 
						  " ;
		$tzCondition	= array() ;
		//Si la formule est renseigné
		if($_iFormuleId!=0)
		{
			array_push($tzCondition," idFormule = ".$_iFormuleId) ;
		}
		//Si l'annonce est renseigné
		if($_iAnnonceId!=0)
		{
			array_push($tzCondition," idOccasion = ".$_iAnnonceId) ;
		}
		if(count($tzCondition)>0)
		{
			$zQuery.= " WHERE " .implode(" AND ",$tzCondition) ;
		}
		$oResult		=	$oConnexion->query($zQuery) ;
		$oRecord		=	$oResult->fetch() ;
		$zListesOptions	=	$oRecord->idOption ;
		
		return $zListesOptions ;
	
	}
	/*
	* Description : Cette fonction permet de mettre à jour la correspondance entre annonce/formule/option
	* @param  int		$_iFormuleId 
	* @param  int		$_iAnnonceId
	* @param  string	$_zNouveauOptions
	* @return boolean	$bSuccess
	*/
	public static function modifierOptionsSuplementaire($_iFormuleId,$_zNouveauOptions,$_iAnnonceId)
	{
		//Inclusion de la connexion
		$oConnexion		= jDb::getConnection();
		$bSuccess		= false ;
		//Requete
		$zQuery			= "
							UPDATE 
								ao_annonce_formule 
							SET
								idOption = '".$_zNouveauOptions."'
							WHERE
								idOccasion = $_iAnnonceId  AND idFormule = $_iFormuleId
		
						  " ;
		 if($oConnexion->exec($zQuery)){
			$bSuccess	=  true ;
		 }
		 
		 return $bSuccess ;
	
	}
}

?>
